package com.openatc.extend.common.aop.log;

import org.aspectj.lang.ProceedingJoinPoint;

/**
 * @author ：panleilei
 * @description 提取数据
 * @modified By：
 * @version:
 * @date ：Created in 2023/3/24 22:16
 */
public interface DataExtractor<D> {
    /**
     * 方法执行前保存切点
     * @param point
     */
    void preExtract(ProceedingJoinPoint point);

    /**
     * 方法完成后提取数据
     * @param point
     * @param ret
     * @return
     */
    D extract(ProceedingJoinPoint point, Object ret);
}
